#ifndef __DIGITAL_TUBE_H
#define	__DIGITAL_TUBE_H

#include "stm32f10x.h"

// 定义74HC595 的引脚
#define DigitalTube_GPIO_PORT    GPIOB
#define DigitalTube_DS_PIN       GPIO_Pin_15
#define DigitalTube_STCP_PIN     GPIO_Pin_14
#define DigitalTube_SHCP_PIN     GPIO_Pin_13

// 声明变量（不分配内存）
extern const uint8_t digitPatterns[16];

// 定义数码管引脚的状态--共阴极数码管
#define SET_PIN(port, pin, state) \
    if (state) GPIO_SetBits(port, pin); \
    else GPIO_ResetBits(port, pin)

// 中间横杠显示模式（显示"-"）
#define DISPLAY_HYPHEN() shiftOut(0x40); latchData()
			
void DigitalTube_GPIO_Config(void);
void shiftOut(uint8_t data);
void latchData(void);
void displayDigit(uint8_t digit);

#endif /*_DIGITAL_TUBE_H */